<?php
//require 'config.php';
//require_once 'clsDatabase.php';
//require_once 'clsCommons.php';
//require_once 'define.table.php';

/**
 * Lớp này được dùng để thực hiện việc check và phân quyền 
 * @version 1.0
 * @package EMX
 */
 

/**
 * process database require from other procedure
 * @package EMX
 * @subpackage classes
 */
class cls_Priority{
	/**
	 * Xử lý các yêu cầu đến cơ sở dữ liệu
	*
	 * @var clsDatabase
	*/
	var $db;//connect to db
	/**
	* Xứ lý các chức năng thông dụng, kiểm tra dữ liệu
	 *
	* @var clsCommon
	*/		
	var $com;//check condition
	function setView()
	{
		$_SESSION["allowView"]=true;
	}
	function checkView()
	{
		if(isset($_SESSION["allowView"]) && $_SESSION["allowView"])
		{
			return true;
		}
		return false;
	}
	/**
	* Hàm khởi tạo thiết lập đối tượng của các lớp đính kèm
	* @link clsDatabase
	* @link clsCommon
	* @link cls_Priority
	*/
	function cls_Priority()
	{
		$this->db=new db();	
		$this->com=new clsCommons();
	}
	/**
	*Phương thức getLoginUserName lấy ra session lưu tên truy nhập của nguời dùng
	* @return  String  trả về tên đăng nhập của người dùng
	*/
	function getLoginUserName()
	{
		//return "mrPhu";
		return $_SESSION['username'];
	}
	/**
	*Phương thức getRemoteIp lấy ra địa chỉ IP của người truy cập
	* @return  String trả về chuỗi địa chỉ IP của người dùng
	*/
	function getRemoteIp()
	{
		return $_SERVER['REMOTE_ADDR'];
	}
	/**
	*Phương thức getLoginId lấy ra Id của người vừa truy cập
	* @return string trả về chuỗi Id của người dùng
	*/
	function getLoginId()
	{
//		return 3;
		return $_SESSION['user_id'];
	}
	/**
	*Phương thức is_QAMCF kiểm tra quyền QAMCF của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMCF(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMCF"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMDA kiểm tra quyền QAMDA của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMDA(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMDA"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMUC kiểm tra quyền QAMUC của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMUC(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMUC"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMUP kiểm tra quyền QAMUP của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMUP(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMUP"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMGR kiểm tra quyền QAMGR của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMGR(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMGR"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMGS kiểm tra quyền QAMGS của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMGS(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMGS"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	
	/**
	*Phương thức is_QAMGA kiểm tra quyền QAMGA của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMGA(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMGA"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	
	/**
	*Phương thức is_QAMGM kiểm tra quyền QAMGM của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMGM(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMGM"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMUR kiểm tra quyền QAMUR của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMUR(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMUR"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMUA kiểm tra quyền QAMUA của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMUA(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMUA"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMUS kiểm tra quyền QAMUS của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMUS(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMUS"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMUM kiểm tra quyền QAMUM của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMUM(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMUM"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMCP kiểm tra quyền QAMCP của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMCP(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMCP"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMTP kiểm tra quyền QAMTP của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMTP(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMTP"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QAMPR kiểm tra quyền QAMPR của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QAMPR(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QAMPR"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPCP_ kiểm tra quyền QUPCP_ của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPCP_(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPCP_"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPPR kiểm tra quyền QUPPR của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPPR(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPPR"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPDP kiểm tra quyền QUPDP của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPDP(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPDP"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPTP kiểm tra quyền QUPTP của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPTP(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPTP"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPDC kiểm tra quyền QUPDC của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPDC(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPDC"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPDT kiểm tra quyền QUPDT của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPDT(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPDT"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPCC kiểm tra quyền QUPCC của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPCC(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPCC"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPCT kiểm tra quyền QUPCT của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPCT(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPCT"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPCP_E kiểm tra quyền QUPCP_E của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPCP_E(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPCP_E"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPVC kiểm tra quyền QUPVC của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPVC(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPVC"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPVT kiểm tra quyền QUPVT của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPVT(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPVT"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	/**
	*Phương thức is_QUPVP kiểm tra quyền QUPVP của Admin
	*@Return Boolean
	* return true nếu người đó có quyền
	* return false nếu không có quyền
	*/
	function is_QUPVP(){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$count = 0;
		$a = split (",",$s_User_Priority);
		for ($i=0;$i<sizeof($a);$i++){
			if ( $a[$i] == "QUPVP"){
			$count = 1;	
			} 
		}
		if ($count == 1){
		return true;
		} else {
		return false;
		}
	}
	
	/**
	*Phương thức is_Priority kiểm tra xem người dùng có những quyền được chỉ rõ ko
	*@param  string $pri  chuỗi quyền
	*@Return boolean
	* return true nếu có
	* return false nếu không có
	*/
#------------------------------------------------------------	
	function is_Priority($pri){
		$s_User_Priority = $_SESSION["s_User_Priority"];
		$a =split (",",$pri);
		$a_User_Priority = split(",",$s_User_Priority);
		$count = 0;
		for($i=0;$i<sizeof($a);$i++){
			for ($j=0;$j<sizeof($a_User_Priority);$j++){
				if ($a_User_Priority[$j] == $a[$i]){
				$count = $count + 1;
				}
			}
		}
		if ($count >= 1){
		return true;
		} else {
		return false;
		}
			
	}
#------------------------------------------------------------
	/**
	*Phương thức is_VI kiểm tra xem người dùng có kiểu người dùng là VI hay không
	* @return  boolean 
	* return true nếu có và faslse nếu không có
	 */

	function is_VI()
	{
		$s_User_Type = $_SESSION["s_User_Type"];
		if ($s_User_Type == "VI"){
		return true;
		} else {
		return false;
		}
	}
#------------------------------------------------------------
	/**
	*Phương thức is_NU kiểm tra xem người dùng có kiểu người dùng là NU hay không
	* @return  boolean 
	* return true nếu có và faslse nếu không có
	 */

	function is_NU()
	{
		$s_User_Type = $_SESSION["s_User_Type"];
		if ($s_User_Type == "NU"){
		return true;
		} else {
		return false;
		}
	}
#------------------------------------------------------------
	/**
	*Phương thức is_AD kiểm tra xem người dùng có kiểu người dùng là AD hay không
	* @return  boolean 
	* return true nếu có và faslse nếu không có
	 */

	function is_AD()
	{
		$s_User_Type = $_SESSION["s_User_Type"];
		if ($s_User_Type == "AD"){
		return true;
		} else {
		return false;
		}
	}
#------------------------------------------------------------
	/**
	*Phương thức is_OU kiểm tra xem người dùng có kiểu người dùng là OU hay không
	* @return  boolean 
	* return true nếu có và faslse nếu không có
	 */
	function is_OU()
	{
		$s_User_Type = $_SESSION["s_User_Type"];
		if ($s_User_Type == "OU"){
		return true;
		} else {
		return false;
		}
	}
#------------------------------------------------------------
	/**
	*Phương thức is_Administrator kiểm tra xem người dùng có kiểu người dùng là Administrator hay không
	* @return  boolean 
	* return true nếu có và faslse nếu không có
	 */

	function is_Administrator()
	{
		$s_User_Type = $_SESSION["s_User_Type"];
		if ($s_User_Type == "Administrator"){
		return true;
		} else {
		return false;
		}
	}
#------------------------------------------------------------
	/**
	*Phương thức is_SuperMod kiểm tra xem người dùng có kiểu người dùng là SuperMod hay không
	* @return  boolean 
	* return true nếu có và faslse nếu không có
	 */
	function is_SuperMod()
	{
		$s_User_Type = $_SESSION["s_User_Type"];
		if ($s_User_Type == "SuperMod"){
		return true;
		} else {
		return false;
		}
	}
#------------------------------------------------------------
	/**
	*Phương thức is_Moderator kiểm tra xem người dùng có kiểu người dùng là Moderator hay không
	* @return  boolean 
	* return true nếu có và faslse nếu không có
	 */

	function is_Moderator()
	{
		$s_User_Type = $_SESSION["s_User_Type"];
		if ($s_User_Type == "Moderator"){
		return true;
		} else {
		return false;
		}
	}
//----------------------setSecurityCode--------------------------
	/**
	*Phương thức setSecurityCode khởi tạo giá trị mới cho chuỗi Secruity code
	* @param  string $newSecurityCode chuỗi secruity mới
	* @return string  trả về chuỗi SecurityCode mới
	*/
	
	function setSecurityCode($newSecurityCode)
	{
		$_SESSION['s_Security_Code']=$newSecurityCode;
		return $_SESSION['s_Security_Code'];
	}
//----------------------getSecurityCode--------------------------
	/**
	*Phương thức getSecrurityCode lấy ra chuỗi bảo mật
	* @return string
	* return chuỗi bảo mới nếu tồn tại, nếu không trả về chuỗi trắng
	*/	
	function getSecurityCode()
	{
		if(isset($_SESSION['s_Security_Code'])){
			return $_SESSION['s_Security_Code'];
		}
		return '';
	}
#------------------------------------------------------------
	/**
	*Phương thức setAdminLogin kiểm tra khi 1 admin login và gán quyền cho admin đó
	*@param  string $userName tên Admin
	*@param  string $passWord mật khẩu của người đó
	*@param  string $securityCode chuỗi bảo mật
	*@return  boolean
	*return true nếu thành công, false nếu thất bại
	 */

	function setAdminLogin($userName,$passWord,$securityCode)
	{
		$sql = "SELECT A1.*,A1.ID as Id_admin_user
				,A3.ID,A3.ManaTypeID,A3.PermitID,A3.UseRight,A3.JuniorRight
				,A4.ID,A4.Code As Permit_Code
				,A5.ID,A5.Name as Admin_type
			 FROM ".ADMIN_USER." as A1
			 LEFT JOIN ".ADMIN_PERMIT." as A3 on A1.ManaTypeID = A3.ManaTypeID
			 LEFT JOIN ".PERMIT." As A4 on A3.PermitID = A4.ID
			 LEFT JOIN ".ADMIN_TYPE." As A5 on A5.ID = A1.ManaTypeID
			 WHERE A1.Username = '$userName' AND A1.Password = '".md5($passWord)."' AND A3.UseRight = 1";
			if($this->db->IsRow($sql)){
				$r = $this->db->Rows($sql);
				$count = sizeof($r);
					for ($i = 0; $i < $count; $i++){
						$priority.= $r[$i]['Permit_Code'] . ","; 
					}
				$priority = substr($priority,0,strlen($priority)-1); 
				$_SESSION['adm_id'] = $r[0]['Id_admin_user'];
				$_SESSION['adm_username'] = $r[0]['Fullname'];
				$_SESSION['s_User_Priority'] = $priority;
				$_SESSION['s_User_Type'] = $r[0]['Admin_type'];	
				$_SESSION['s_Security_Code'] = $securityCode;		
				return true;	
			} else{
				return false;
			}	
	}
#------------------------------------------------------------
	/**
	*Phương thức setUserLogin kiểm tra khi 1 user login và gán quyền cho user đó
	*@param  string $userName tên Admin
	*@param  string $passWord mật khẩu của người đó
	*@param  string $securityCode chuỗi bảo mật
	*@return  boolean
	*return true nếu thành công, false nếu thất bại 
	 */

	function setUserLogin($userName,$passWord,$securityCode = '')
	{
		$sql = "SELECT A1.*,A1.ID as Id_user,A3.ID,A3.UserTypeID
				,A3.PermitID,A4.ID
				,A4.Code As Permit_Code,A5.ID,A5.Name as User_type
			 FROM ".USER." as A1
			 LEFT JOIN ".USER_RIGHT." as A3 on A1.UserTypeID = A3.UserTypeID
			 LEFT JOIN ".PERMIT." As A4 on A3.PermitID = A4.ID
			 LEFT JOIN ".USER_TYPE." As A5 on A5.ID = A1.UserTypeID
			 WHERE A1.Username = '$userName' AND A1.Password = '".md5($passWord)."'";
			if($this->db->IsRow($sql)){
				$r = $this->db->Rows($sql);
				$count = sizeof($r);
					for ($i = 0; $i < $count; $i++){
						$priority.= $r[$i]['Permit_Code'] . ","; 
					}
				$priority = substr($priority,0,strlen($priority)-1); 
				$_SESSION['user_id'] = $r[0]['Id_user'];
				$_SESSION['username'] = $r[0]['Username'];
				$_SESSION['s_User_Priority'] = $priority;
				$_SESSION['s_User_Type'] = $r[0]['User_type'];
				$_SESSION['s_Security_Code'] = $securityCode;
				return true;		
			} else {
				return false;
			}	
	}
#------------------------------------------------------------
	/**
	*Phương thức checkUserLogin kiểm tra xem user đó đã đăng nhập hay chưa
	* @return  boolean
	* return true nếu đã đăng nhập, false nếu chưa
	 */

	function checkUserLogin()
	{
		if(!isset($_SESSION['user_id']) && !isset($_SESSION['username'])){
			return false;
		} else{
			return true;
		}
	}
#------------------------------------------------------------
	/**
	 * Check User Login
	 * @package EMX
	 * @subpackage classes
	 * @return bool 
	 * return true:User login sucess, false:User not login
	 */

	function incFalse()
	{
		if (!isset($_SESSION['count'])){
			$_SESSION['count'] = 0;
		}
		$_SESSION['count'] = $_SESSION['count'] + 1;
		return $_SESSION['count'];
	}	
	function getIncFalse()
	{
		if (!isset($_SESSION['count'])){
			$_SESSION['count'] = 0;
		}
		return $_SESSION['count'];
	}		
#------------------------------------------------------------
	/**
	*Phương thức adminLogOut xóa session của Admin khi Admin đó logout
	* @return  boolean
	* return true nếu thành công, false nếu người đó chưa đăng nhập
	 */

	function adminLogOut()
	{
		if(isset($_SESSION['adm_id']) && isset($_SESSION['user_fullname'])){
			unset($_SESSION['adm_id']);
			unset($_SESSION['adm_username']);
			unset($_SESSION['s_User_Priority']);
			unset($_SESSION['s_User_Type']);
			unset($_SESSION['s_Security_Code']);
			return true;
		} else {
			return false;
		}
	}
#------------------------------------------------------------
	/**
	*Phương thức userLogOut xóa session của User khi User đó logout
	* @return  boolean
	* return true nếu thành công, false nếu người đó chưa đăng nhập
	 */

	function userLogOut()
	{
		if(isset($_SESSION['user_id']) && isset($_SESSION['username'])){
			unset($_SESSION['user_id']);
			unset($_SESSION['username']);
			unset($_SESSION['s_User_Priority']);
			unset($_SESSION['s_User_Type']);
			unset($_SESSION['s_Security_Code']);
			unset($_SESSION['count']);			
			return true;
		} else {
			return false;
		}
	}
	/*set  session rate template one time*/
	function setSessionRateTemp($userId, $tempId)
	{
		$_SESSION['user_'.$userId.'_temp_'.$tempId]=true;
	}
	/*get session rate template*/
	function checkSessionRateTemp($userId, $tempId)
	{
		if(isset($_SESSION['user_'.$userId.'_temp_'.$tempId]) && $_SESSION['user_'.$userId.'_temp_'.$tempId])
		{
			return true;
		}
		return false;
	}		
	/*set Session sql*/
	function setSessionSqlQuery($sql)
	{
		$_SESSION['sql']=$sql;
	}
	/*get Session sql*/
	function getSessionSqlQuery()
	{
		return $_SESSION['sql'];
	}
	/*check session sql*/
	function checkSessionSqlQuery()
	{
		if(isset($_SESSION['sql']))
		{
			return true;
		}
	}
	/*set session page*/
	function setSessionPage()
	{
		if(!isset($_SESSION['page']))
		{
			$_SESSION['page'] = 0;
		}else
		{
			if(isset($_SESSION['totalPage']) && $_SESSION['page'] < ($_SESSION['totalPage']-1))
			{
				$_SESSION['page'] = $_SESSION['page'] + 1;
			}
		}
	}
	/*get session page*/
	function getSessionPage()
	{	if(!isset($_SESSION['page']))
		{
			$_SESSION['page'] = 0;
		}
		return $_SESSION['page'];
	}
	/*get session page*/
	function checkSessionPage()
	{
		if(isset($_SESSION['page']))
		{
			return true;
		}
		return false;
	}
	/*set session totalpage*/
	function setSessionTotalPage($totalPage)
	{
		$_SESSION['totalPage'] = $totalPage;
	}
	/*get session totalpage*/
	function getSessionTotalPage()
	{
		return $_SESSION['totalPage'];
	}
	/*check session totalpage*/
	function checkSessionTotalPage()
	{
		if(isset($_SESSION['totalPage']))
		{
			return true;
		}
		return false;
	}
	/**/
	function endSearch()
	{
		if(isset($_SESSION['totalPage'])){
			unset($_SESSION['totalPage']);
		}
		if(isset($_SESSION['page'])){
			unset($_SESSION['page']);
		}
		if(isset($_SESSION['sql'])){
			unset($_SESSION['sql']);
		}
	}
	/**
	 * Phương thức mkdiaParents dùng để tạo thự mục cho người dùng
	 * @param  $d đường dẫn thư mục
	 * @return  boolean
	 * return true nếu tạo thành công, false nếu thất bại
	 */
	function mkdirParents($d,$umask = 0777)
	{
		$dirs = array($d);
		$d = dirname($d);
		$last_dirname = '';
		while($last_dirname != $d) { 
			array_unshift($dirs,$d);
			$last_dirname = $d;
			$d = dirname($d);
		}
	
		foreach ($dirs as $dir) {
			if (! file_exists($dir)) {
				if (! mkdir($dir,$umask)) {
					error_log("Can't make directory: $dir");
					return false;
				}
			} elseif (! is_dir($dir)) {
				error_log("$dir is not a directory");
				return false;
			}
		}
		return true;	
	}
	//add by mrQuang 08/04/2008
	/*set  session rate Udd one time*/
	function setSessionRateUdd($userId, $uddID)
	{
		$_SESSION['user_'.$userId.'_udd_'.$uddID]=true;
	}
	/*get session rate template*/
	function checkSessionRateUdd($userId, $uddID)
	{
		if(isset($_SESSION['user_'.$userId.'_udd_'.$uddID]) && $_SESSION['user_'.$userId.'_udd_'.$uddID])
		{
			return true;
		}
		return false;
	}
//--------------------------------------------------------------------------------------------------------------------------------------------
	/*set Session sql Udd*/
	function setSessionSqlQueryUdd($sqlUdd)
	{
		$_SESSION['sqlUdd']=$sqlUdd;
	}
	/*get Session sql Udd*/
	function getSessionSqlQueryUdd()
	{
		return $_SESSION['sqlUdd'];
	}
	/*check session sql Udd*/
	function checkSessionSqlQueryUdd()
	{
		if(isset($_SESSION['sqlUdd']))
		{
			return true;
		}
	}
	/*set session page Udd*/
	function setSessionPageUdd()
	{
		if(!isset($_SESSION['pageUdd']))
		{
			$_SESSION['pageUdd'] = 0;
		}else
		{
			if(isset($_SESSION['totalPageUdd']) && $_SESSION['pageUdd'] < ($_SESSION['totalPageUdd']-1))
			{
				$_SESSION['pageUdd'] = $_SESSION['pageUdd'] + 1;
			}
		}
	}
	/*get session page Udd*/
	function getSessionPageUdd()
	{	if(!isset($_SESSION['pageUdd']))
		{
			$_SESSION['pageUdd'] = 0;
		}
		return $_SESSION['pageUdd'];
	}
	/*get session page Udd*/
	function checkSessionPageUdd()
	{
		if(isset($_SESSION['pageUdd']))
		{
			return true;
		}
		return false;
	}
	/*set session totalpage Udd*/
	function setSessionTotalPageUdd($totalPageUdd)
	{
		$_SESSION['totalPageUdd'] = $totalPageUdd;
	}
	/*get session totalpage Udd*/
	function getSessionTotalPageUdd()
	{
		return $_SESSION['totalPageUdd'];
	}
	/*check session totalpage Udd*/
	function checkSessionTotalPageUdd()
	{
		if(isset($_SESSION['totalPageUdd']))
		{
			return true;
		}
		return false;
	}
	/**/
	function endSearchUdd()
	{
		if(isset($_SESSION['totalPageUdd'])){
			unset($_SESSION['totalPageUdd']);
		}
		if(isset($_SESSION['pageUdd'])){
			unset($_SESSION['pageUdd']);
		}
		if(isset($_SESSION['sqlUdd'])){
			unset($_SESSION['sqlUdd']);
		}
	}
	//-------------CPN----------------
		/*set  session rate template one time*/
	function setSessionRateCPN($userId, $cpnID)
	{
		$_SESSION['user_'.$userId.'_cpn_'.$cpnID]=true;
	}
	/*get session rate template*/
	function checkSessionRateCPN($userId, $cpnID)
	{
		if(isset($_SESSION['user_'.$userId.'_cpn_'.$cpnID]) && $_SESSION['user_'.$userId.'_cpn_'.$cpnID])
		{
			return true;
		}
		return false;
	}	
	/*set Session sql*/
	function setSessionSqlQueryCPN($sql)
	{
		$_SESSION['sql_cpn']=$sql;
	}
	/*get Session sql*/
	function getSessionSqlQueryCPN()
	{
		return $_SESSION['sql_cpn'];
	}
	/*check session sql*/
	function checkSessionSqlQueryCPN()
	{
		if(isset($_SESSION['sql_cpn']))
		{
			return true;
		}
	}
	/*set session page*/
	function setSessionPageCPN()
	{
		if(!isset($_SESSION['page_cpn']))
		{
			$_SESSION['page_cpn'] = 0;
		}else
		{
			if(isset($_SESSION['totalPage_cpn']) && $_SESSION['page_cpn'] < ($_SESSION['totalPage_cpn']-1))
			{
				$_SESSION['page_cpn'] = $_SESSION['page_cpn'] + 1;
			}
		}
	}
	/*get session page*/
	function getSessionPageCPN()
	{	if(!isset($_SESSION['page_cpn']))
		{
			$_SESSION['page_cpn'] = 0;
		}
		return $_SESSION['page_cpn'];
	}
	/*get session page*/
	function checkSessionPageCPN()
	{
		if(isset($_SESSION['page_cpn']))
		{
			return true;
		}
		return false;
	}
	/*set session totalpage*/
	function setSessionTotalPageCPN($totalPage)
	{
		$_SESSION['totalPage_cpn'] = $totalPage;
	}
	/*get session totalpage*/
	function getSessionTotalPageCPN()
	{
		return $_SESSION['totalPage_cpn'];
	}
	/*check session totalpage*/
	function checkSessionTotalPageCPN()
	{
		if(isset($_SESSION['totalPage_cpn']))
		{
			return true;
		}
		return false;
	}
	/**/
	function endSearchCPN()
	{
		if(isset($_SESSION['totalPage_cpn'])){
			unset($_SESSION['totalPage_cpn']);
		}
		if(isset($_SESSION['page_cpn'])){
			unset($_SESSION['page_cpn']);
		}
		if(isset($_SESSION['sql_cpn'])){
			unset($_SESSION['sql_cpn']);
		}
	}
	
			
}